/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */
package com.jaywalkable.vkeyboard;

import com.jaywalkable.vkeyboard.impl.VKeyboardImpl;
import static com.jaywalkable.vkeyboard.BengaliLetter.*;

/**
 * Virtual representation of Unijoy keyboard layout.
 *
 * @author Rubel Ahammad
 */
final class UnijoyVKeyboard extends VKeyboardImpl {

    UnijoyVKeyboard() {
        layout.put('`', new Character[]{ZERO_WIDTH_NON_JOINER});
        layout.put('~', new Character[]{ZERO_WIDTH_JOINER});
        layout.put('\\', new Character[]{RA_WITH_LOWER_DIAGONAL});
        layout.put('|', new Character[]{RA_WITH_MIDDLE_DIAGONAL});
        layout.put('@', new Character[]{SIGN_CANDRABINDU});
        layout.put('$', new Character[]{RUPEE_SIGN});
        layout.put('^', new Character[]{SIGN_ANUSVARA});
        layout.put('&', new Character[]{KHANDA_TA});
        layout.put('A', new Character[]{RA, SIGN_VIRAMA});
        layout.put('B', new Character[]{NNA});
        layout.put('C', new Character[]{SIGN_AI});
        layout.put('D', new Character[]{SIGN_II});
        layout.put('E', new Character[]{DDHA});
        layout.put('F', new Character[]{A});
        layout.put('G', new Character[]{GANDA_MARK});
        layout.put('H', new Character[]{BHA});
        layout.put('I', new Character[]{NYA});
        layout.put('J', new Character[]{KHA});
        layout.put('K', new Character[]{THA});
        layout.put('L', new Character[]{DHA});
        layout.put('M', new Character[]{SHA});
        layout.put('N', new Character[]{SSA});
        layout.put('O', new Character[]{GHA});
        layout.put('P', new Character[]{RHA});
        layout.put('Q', new Character[]{NGA});
        layout.put('R', new Character[]{PHA});
        layout.put('S', new Character[]{SIGN_UU});
        layout.put('T', new Character[]{TTHA});
        layout.put('U', new Character[]{JHA});
        layout.put('V', new Character[]{LA});
        layout.put('W', new Character[]{YYA});
        layout.put('X', new Character[]{SIGN_AU});
        layout.put('Y', new Character[]{I});
        layout.put('Z', new Character[]{SIGN_VIRAMA, YA});
        layout.put('a', new Character[]{SIGN_VOCALIC_R});
        layout.put('b', new Character[]{NA});
        layout.put('c', new Character[]{SIGN_E});
        layout.put('d', new Character[]{SIGN_I});
        layout.put('e', new Character[]{DA});
        layout.put('f', new Character[]{SIGN_AA});
        layout.put('g', new Character[]{SIGN_VIRAMA});
        layout.put('h', new Character[]{BA});
        layout.put('i', new Character[]{HA});
        layout.put('j', new Character[]{KA});
        layout.put('k', new Character[]{TA});
        layout.put('l', new Character[]{DA});
        layout.put('M', new Character[]{MA});
        layout.put('n', new Character[]{SA});
        layout.put('o', new Character[]{GA});
        layout.put('p', new Character[]{RRA});
        layout.put('q', new Character[]{SIGN_ANUSVARA});
        layout.put('r', new Character[]{PA});
        layout.put('s', new Character[]{SIGN_U});
        layout.put('t', new Character[]{TTA});
        layout.put('u', new Character[]{JA});
        layout.put('v', new Character[]{RA});
        layout.put('w', new Character[]{YA});
        layout.put('x', new Character[]{SIGN_O});
        layout.put('z', new Character[]{SIGN_VIRAMA, RA});

        layout.put('0', new Character[]{DIGIT_ZERO});
        layout.put('1', new Character[]{DIGIT_ONE});
        layout.put('2', new Character[]{DIGIT_TWO});
        layout.put('3', new Character[]{DIGIT_THREE});
        layout.put('4', new Character[]{DIGIT_FOUR});
        layout.put('5', new Character[]{DIGIT_FIVE});
        layout.put('6', new Character[]{DIGIT_SIX});
        layout.put('7', new Character[]{DIGIT_SEVEN});
        layout.put('8', new Character[]{DIGIT_EIGHT});
        layout.put('9', new Character[]{DIGIT_NINE});
    }
}
